#include "widget.h"
#include "ui_widget.h"
#include<QFileDialog>
#include<QFile>
#include<QTextCodec>
#include<QFileInfo>
#include<QDebug>
#include<QDateTime>

Widget::Widget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Widget)
{
    ui->setupUi(this);

    //点击选取文件你的按钮，弹出一个对话框
    connect(ui->pushButton,&QPushButton::clicked,[=](){
        QString path=QFileDialog::getOpenFileName(this,"dakai","C:\\Users\\lindaxian\\Desktop");

        ui->lineEdit->setText(path);

        //编码格式类
        //QTextCodec *codec=QTextCodec::codecForName("gbk");

        //QFile 默认读取的是utf-8

        QFile file(path);//参数就是读取文件的路径
        //设置打开方式
        file.open(QIODevice::ReadOnly);

       // QByteArray array=file.readAll();//一下子读全部

        QByteArray array;
        while(!file.atEnd()){
            array+=file.readLine();//按行读也可以把数据读到手
        }

        //array=file.readLine();//读一行

        //将读取到的数据放进去
        ui->textEdit->setText(array);

        //ui->textEdit->setText(codec->toUnicode(array));
        //高端的操作，需要先判断文件的编码格式，再读。
        //对文件的对象进行关闭
        file.close();

        //进行写文件
//        file.open(QIODevice::Append);//用追加的方式写
//        file.write("aaaaa");
//        file.close();

        //QFileInfo 文件信息类
        QFileInfo info(path);
        qDebug()<<info.size()<<info.suffix()<<info.fileName()<<info.path();

        //datetime类型的不能直接打印
        qDebug()<<info.created().toString("yyyy/MM/dd/ hh:mm:ss");
        //qDebug()<<info.lastModified().toString
    });
}

Widget::~Widget()
{
    delete ui;
}
